package xmlexample;

/*
 * PiattaformaScolastica_stile.java
 *
 * Created on 19 aprile 2004, 22.24
 */
import net.ermannofranco.xml.style.ForEach;
import net.ermannofranco.xml.style.If;
import net.ermannofranco.xml.style.Stylesheet;
import net.ermannofranco.xml.style.Template;
import net.ermannofranco.xml.style.Sort.SortOrder;

/**
 * 
 * @author ermanno
 */
public class PiattaformaScolastica_stile {
	private static final String resourcesPath = "/media/TRETRE/versioncontrol/xmlfactory/Esempi/resources/";
	private static final String templateName = "PiattaformaScolastica_skeleton_xsl.html";
	private static final String templatePathName = resourcesPath + templateName;
	private final Stylesheet st;

	/** Creates a new instance of PiattaformaScolastica_stile */
	public PiattaformaScolastica_stile() {
		st = new Stylesheet();
		Template te;
		ForEach fe;
		If iff;

		(te = st.addTemplate("/")).loadCDATAFile(templatePathName, 1, 9);
		te.addApplyTemplates("//corso").addSort("@nomeComune").setOrder(
				SortOrder.ASC);
		te.loadCDATAFile(templatePathName, 27);

		(te = st.addTemplate("corso")).loadCDATAFile(templatePathName, 9, 13);
		te.addValueOf("@nomeComune");
		te.loadCDATALinesFromFile(templatePathName, 13, 1);
		te.addCDATA("codice: ");
		te.addValueOf("@codice");
		te.addCDATA("; durata: ");
		te.addValueOf("@durata");
		te.addCDATA("; esame: ");
		te.addValueOf("@esame");
		te.addCDATA("; livello: ");
		te.addValueOf("@livello");
		te.loadCDATALinesFromFile(templatePathName, 14, 4);
		te.addCDATA("<b>Descrizione:</b><br />");
		te.addValueOf("descrizione");
		te.addCDATA("<br /><b>Obiettivi:</b><br />");
		te.addValueOf("obiettivi");
		te.addCDATA("<br /><b>Periodo esami:</b><br />");
		te.addValueOf("periodo_esami");
		te.loadCDATALinesFromFile(templatePathName, 18, 2);
		te.addApplyTemplates("anno");
		te.loadCDATALinesFromFile(templatePathName, 26, 1);

		(te = st.addTemplate("anno")).loadCDATALinesFromFile(templatePathName,
				20, 2);
		te.addValueOf("@idAnno");
		(iff = (fe = te.addForEach("docente")).addIf("string-length(@nome)>0"))
				.addCDATA("\tDocente:");
		iff.addValueOf("@nome");
		te.addCDATA(";\tiscritti:");
		te.addValueOf("@iscritti");
		te.addCDATA(";\tcosto:");
		te.addValueOf("costo");
		te.addCDATA("  ");
		te.addValueOf("costo/@valuta");
		(iff = te.addIf("@attivo='true'")).loadCDATALinesFromFile(
				templatePathName, 22, 1);
		iff.addCDATA("ATTIVO");
		iff.loadCDATALinesFromFile(templatePathName, 23, 1);
		te.loadCDATALinesFromFile(templatePathName, 24, 2);

//		st.save("../generati/" + getClass().getSimpleName());
	}

	public String toString() {
		return st.toString();
	}
}
